package com.ly.cloud.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.plugins.Page;
import com.ly.cloud.dto.StudentInfoDto;
import com.ly.cloud.vo.GradeVo;
import com.ly.cloud.vo.RegisterInfoVo;
import com.ly.cloud.vo.StudentDetailInfoVo;
import com.ly.cloud.vo.StudentInfoVo;
import com.ly.cloud.vo.XjYdVo;

/** 
 * Class Name: StudentInfoService  
 * Description: 
 * 学生信息服务接口
 * @author: luhuacong
 * @date: 2018年12月21日
 * @version: 1.0
 *
 */ 
public interface StudentInfoService{

	/**(non-Javadoc)
	 * Title: insertStudentInfo
	 * Description: 
	 * 添加学生信息
	 * @param dto 条件封装对象
	 * @param createMan 创建人
	 * @return  boolean
	 * @date: 2018年12月21日
	 * @author luhuacong
	 */
	boolean insertStudentInfo(StudentInfoDto dto,String createMan);
	
	/**(non-Javadoc)
	 * Title: deleteXsInfoByIds
	 * Description: 
	 * 根据学生id集合批量删除学生
	 * @param xsidList 学生id集合
	 * @return  成功删除的个数
	 * @date: 2018年12月21日
	 * @author luhuacong
	 */
	Integer deleteXsInfoByIds(List<String> xsidList);
	
	/**(non-Javadoc)
	 * Title: updateXsInfo
	 * Description: 
	 * 修改学生信息
	 * @param dto 条件封装对象
	 * @param xgr 修改人
	 * @return  boolean
	 * @date: 2018年12月21日
	 * @author luhuacong
	 */
	boolean updateXsInfo(StudentInfoDto dto,String xgr);
	
	/** 
	 * Method Name:selectXsListByCon
	 * Description:根据条件查询
	 * @param page 
	 * @param dto 条件封装对象
	 * @return List<StudentInfoVo>
	 * @author LuHuaCong
	 * @date: 2018年12月22日
	 */
	Page<StudentInfoVo> selectXsListByCon(Page<StudentInfoVo> page, StudentInfoDto dto);
	
	/** 
	 * MethodName:selectRegisterInfo
	 * Description:根据学号查询注册状态
	 * @param xsid 学号
	 * @return Page<RegisterInfoVo>
	 * @author LuHuaCong
	 * @date: 2018年12月24日
	 */
	Page<RegisterInfoVo> selectRegisterInfo(Page<RegisterInfoVo> page,String xsid);
	
	/** 
	 * MethodName:selectRegisterInfo
	 * Description:根据学号查询学籍异动信息
	 * @param xsid 学号
	 * @return Page<XjYdVo>
	 * @author LuHuaCong
	 * @date: 2018年12月24日
	 */
	Page<XjYdVo> selectXjYdInfo(Page<XjYdVo> page,String xsid);
	
	/** 
	 * MethodName:selectGradeInfo
	 * Description:根据学号查询学生成绩信息
	 * @param page
	 * @param xsid 学号
	 * @return List<GradeVo>
	 * @author LuHuaCong
	 * @date: 2018年12月24日
	 */
	Page<GradeVo> selectGradeInfo(Page<GradeVo> page,String xsid);
	
	/** 
	 * MethodName:selectXsXxXxByid
	 * Description:根据学号查询学生详细信息
	 * @param xsid 学号
	 * @return StudentDetailInfoVo
	 * @date: 2018年1月8日
	 */
	public StudentDetailInfoVo selectXsXxXxByid(String xsid);
}
